package com.mercury.pattern._18_memo.demo;

/**
 * 需要保存状态的对象
 */
public class Originator {

    private String state;

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    /**
     * 将当前节点 保存到备忘录==》最终会存到守护者对象中
     * @return
     */
    public Memo saveMemo(){
        return new Memo(state);
    }

    /**
     * 从备忘录获取节点数据
     * @return
     */
    public void restoreMemo(Memo memo){
        this.state = memo.getState();
    }
}
